home *** CD-ROM | disk | FTP | other *** search
- #include "file utilities.h"
- #include <Processes.h>
-
- OSErr GetApplicationFSSpec(FSSpec *theFS)
- {
- OSErr oe;
- ProcessSerialNumber psn;
- ProcessInfoRec info;
-
- oe=GetCurrentProcess(&psn);
- if (oe==noErr)
- {
- info.processInfoLength=60;
- info.processName=0L;
- info.processAppSpec=theFS;
- oe=GetProcessInformation(&psn, &info);
- }
-
- return oe;
- }
-
- OSType GetFileType(FSSpec *myFSS)
- {
- HParamBlockRec paramBlock;
-
- paramBlock.fileParam.ioCompletion=0L;
- paramBlock.fileParam.ioNamePtr=myFSS->name;
- paramBlock.fileParam.ioVRefNum=myFSS->vRefNum;
- paramBlock.fileParam.ioFDirIndex=0;
- paramBlock.fileParam.ioDirID=myFSS->parID;
- if (PBHGetFInfo(¶mBlock, FALSE)!=noErr)
- return 0L;
-
- return paramBlock.fileParam.ioFlFndrInfo.fdType;
- }
-
- unsigned long GetModificationDate(FSSpec *myFSS)
- {
- HParamBlockRec paramBlock;
-
- paramBlock.fileParam.ioCompletion=0L;
- paramBlock.fileParam.ioNamePtr=myFSS->name;
- paramBlock.fileParam.ioVRefNum=myFSS->vRefNum;
- paramBlock.fileParam.ioFDirIndex=0;
- paramBlock.fileParam.ioDirID=myFSS->parID;
- if (PBHGetFInfo(¶mBlock, FALSE)!=noErr)
- return 0L;
-
- return paramBlock.fileParam.ioFlMdDat;
- }
-
- OSErr SetModificationDate(FSSpec *myFSS, unsigned long theDate)
- {
- HParamBlockRec paramBlock;
- OSErr err;
-
- paramBlock.fileParam.ioCompletion=0L;
- paramBlock.fileParam.ioNamePtr=myFSS->name;
- paramBlock.fileParam.ioVRefNum=myFSS->vRefNum;
- paramBlock.fileParam.ioFDirIndex=0;
- paramBlock.fileParam.ioDirID=myFSS->parID;
- if ((err=PBHGetFInfo(¶mBlock, FALSE))!=noErr)
- return err;
-
- FlushVol(0L, myFSS->vRefNum);
-
- paramBlock.fileParam.ioFlMdDat=theDate;
- paramBlock.fileParam.ioCompletion=0L;
- paramBlock.fileParam.ioNamePtr=myFSS->name;
- paramBlock.fileParam.ioVRefNum=myFSS->vRefNum;
- paramBlock.fileParam.ioFDirIndex=0;
- paramBlock.fileParam.ioDirID=myFSS->parID;
- err=PBHSetFInfo(¶mBlock, FALSE);
-
- return err;
- }
-